perm filename PAFD.SAI[HAK,HPM]4 blob sn#361009 filedate 1978-06-13 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	BEGIN "TEST"
C00005 ENDMK
C⊗;
BEGIN "TEST"
DEFINE NK=5;
INTEGER ARRAY BLOCK[0:NK*1024];
INTEGER ARRAY PNT[0:2];
INTEGER JOB,I,J,T,LINE, WD, PASS;
STRING ACCT,ANS;

FOR WD←0,1 DO
   BEGIN
   LINE←PTYGET;
   IF WD=1 THEN
      BEGIN
      PRINT("ACCT:");
      ACCT←INCHWL;
      END ELSE ACCT←"PAS/HPM";
   PTOSTR(LINE,"L "&ACCT&'15&'12);
   ANS←"   ";
   DO
      BEGIN
      T←PTCHRW(LINE);
      IF WD=1 THEN OUTSTR(T);
      ANS←ANS&T;
      END
   UNTIL ANS[∞ TO ∞]="="∨EQU(ANS[∞-2 TO ∞],'15&'12&".");

   IF ANS[∞ TO ∞]≠"=" THEN BEGIN PRINT("none at all"); CALL(0,"EXIT"); END
   ELSE
      BEGIN
      WHILE ANS[1 TO 4]≠"Job " DO ANS←ANS[2 TO ∞];
      ANS←ANS[5 TO ∞]; JOB←INTSCAN(ANS,T);

      FOR J←0 STEP 1 UNTIL NK-1 DO
	 BEGIN
	 PNT[0]←JOB;
	 PNT[1]←((-1024) ASH 18) LOR (J*1024);
	 PNT[2]←LOCATION(BLOCK[J*1024]);
	 CALL(LOCATION(PNT[0]),"JOBRD");
	 END;

      FOR I←0 STEP 1 UNTIL NK*1024 DO
	 WHILE (BLOCK[I] LAND '770000000000)=0 ∧ BLOCK[I]≠0 DO
             BLOCK[I]←BLOCK[I] LSH 6;

      IF WD=1 THEN PRINT(CV6STR(BLOCK[PASS]),'15&'12)
      ELSE
	 BEGIN
	 FOR I←0 STEP 1 UNTIL NK*1024-1 DO
	    BEGIN
	    STRING Q;
	    IF BLOCK[I]≠0 THEN
	      BEGIN
	      Q←CV6STR(BLOCK[I]);
	      IF EQU(Q,"PASSWD") THEN PASS←I;
	      END;
	    END;
	 END;
      END;
   PTYREL(LINE);
   END;
END "TEST";